﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using SoftHotel.Models;

namespace SoftHotel.Controllers
{
    public class NotaCreditoController : Controller
    {
        //
        // GET: /NotaCredito/        
        private static bool vieneDeEditar = false;
        private static bool vieneDeEliminar = false;
        private static bool flag = false;
        private static string nombreOriginal = "";
        static NotaCreditoModel producto;
        static List<NotaCreditoModel> busquedax;
        static NotaCreditoDAO listaprodbusqueda = new NotaCreditoDAO();
        public NotaCreditoController(){
        }
        public ActionResult Index()
        {
            return View();
        }
        [HttpPost]
        public ActionResult Index(NotaCreditoModel prod, string button)
        {
            if (button == "Buscar")
            {
                producto = prod;
                busquedax = listaprodbusqueda.buscar(producto);
            }
            listaprodbusqueda.ncbuscadis = busquedax;
            return RedirectToAction(button, "NotaCredito");
        }
        public ActionResult Buscar()
        {

            return View(listaprodbusqueda);
        }
        [HttpPost]
        public ActionResult Buscar(string button)
        {

            if (button == "Nueva Busqueda")
            {
                return RedirectToAction("Index", "NotaCredito");

            }
            if (button == "Regresar")
            {
                return RedirectToAction("Index", "NotaCredito");

            }
            return RedirectToAction(button, "NotaCredito");
        }
        public ActionResult Mostrar(string descripcion)
        {
            //producto.nota.notacreditos= new List<NotaCreditoModel>() { };            

            string dato = "";
            dato = descripcion.Remove(descripcion.IndexOf(","));
            if (dato == "M")
            {
                string monto = descripcion.Remove(0,descripcion.IndexOf(",")+1);
                producto.monto+=Int32.Parse(monto) ;
                return View(producto);
            }

            string ndocumentoventa= "";
            string nombre = "";
            string apellido = "";
            string tipo = "";
            string ndoc = "";
            ndocumentoventa = dato;
            producto.ndocumentoventa = descripcion;
            nombre = descripcion.Remove(0,descripcion.IndexOf(",")+1);
            producto.cNombre = nombre.Remove(nombre.IndexOf(","));
            apellido = nombre.Remove(0,nombre.IndexOf(",")+1);
            producto.cApellido = apellido.Remove(apellido.IndexOf(","));
            tipo = apellido.Remove(0, apellido.IndexOf(",") + 1);
            producto.tipoDoc = tipo.Remove(tipo.IndexOf(","));
            ndoc = tipo.Remove(0, tipo.IndexOf(",") + 1);
            producto.ndocumento = ndoc;
            DateTime now1 = DateTime.Now;            
            producto.fechaEmision = now1;
            if (!flag)
            {
                producto.monto = 0;
                flag = true;
            }

            producto = listaprodbusqueda.mostrar(producto);

            return View(producto);
        }        
        [HttpPost]
        public ActionResult Mostrar(NotaCreditoModel prod, string button)
        {

            if (button == "Generar Nota de Crédito")
            {
                listaprodbusqueda.insertar(producto);
                return RedirectToAction("Generar", "NotaCredito");
                flag = false;
            }
            if (button == "Regresar")
            {
                return RedirectToAction("Index", "NotaCredito");
                flag = false;
            }
            return RedirectToAction(button, "NotaCredito");
        }
        public ActionResult Generar()
        {
            return View(producto);
        }
        [HttpPost]
        public ActionResult Generar(NotaCreditoModel prod, string button)
        {

            if (button == "Generar Nota de Crédito")
            {
         
                return RedirectToAction("Generar", "NotaCredito");
                flag = false;
            }
            if (button == "Regresar")
            {
                return RedirectToAction("Index", "NotaCredito");
                flag = false;
            }
            return RedirectToAction(button, "NotaCredito");
        }
    }
}
